import { BasicColumn } from '/@/components/Table';
import { FormSchema } from '/@/components/Table';
import { rules } from '/@/utils/helper/validator';
import { render } from '/@/utils/common/renderUtils';
import { JVxeTypes, JVxeColumn } from '/@/components/jeecg/JVxeTable/types'
//列表数据
export const columns: BasicColumn[] = [
  {
    title: '委托单位',
    align: "center",
    dataIndex: 'entName',
    width: 180
  },
  //  {
  //   title: '单位地址',
  //   align:"center",
  //   dataIndex: 'entAddress',
  //   width:110
  //  },
  {
    title: '经办/送样人',
    align: "center",
    dataIndex: 'handler',
    width: 85
  },
  {
    title: '经办日期',
    align: "center",
    dataIndex: 'handlDate',
    width: 90
  },
  // {
  //   title: '联系人',
  //   align: "center",
  //   dataIndex: 'contacter',
  //   width: 85
  // },
  // {
  //   title: '联系电话',
  //   align: "center",
  //   dataIndex: 'phone',
  //   width: 100
  // },
  // {
  //   title: '取/送样',
  //   align: "center",
  //   dataIndex: 'takeSendSample',
  //   width: 90
  // },
  {
    title: '样品大类',
    align: "center",
    dataIndex: 'sampleType',
    width: 120
  },
  {
    title: '样品类别',
    align: "center",
    dataIndex: 'sampleSort',
    width: 120
  },
  // {
  //   title: '样品名称',
  //   align: "center",
  //   dataIndex: 'sampleName',
  //   width: 105
  // },
  {
    title: '样品数量',
    align: "center",
    dataIndex: 'sampleNum',
    width: 80
  },
  // {
  //   title: '已登记样品',
  //   align: "center",
  //   dataIndex: 'sampleCount',
  //   width: 90
  // },
  // {
  //   title: '样品包装',
  //   align: "center",
  //   dataIndex: 'samplePack',
  //   width: 90
  // },
  // {
  //   title: '样品存储',
  //   align: "center",
  //   dataIndex: 'sampleStore',
  //   width: 90
  // },
  // {
  //   title: '样品处置',
  //   align: "center",
  //   dataIndex: 'sampleDispose',
  //   width: 90
  // },
  // {
  //   title: '检测项目',
  //   align: "center",
  //   dataIndex: 'testItems_dictText',
  //   width: 110
  // },
  // {
  //   title: '方法/标准规则',
  //   align: "center",
  //   dataIndex: 'wayNorm_dictText',
  //   width: 100
  // },
  

  // {
  //   title: '初审人员',
  //   align: "center",
  //   dataIndex: 'firstAudit',
  //   width: 85
  // },
  {
    title: '审核人员',
    align: "center",
    dataIndex: 'finalAudit',
    width: 85
  },
  {
    title: '退回理由',
    align: "center",
    dataIndex: 'returnCause',
    width: 90
  },
  // {
  //   title: '退回人员',
  //   align: "center",
  //   dataIndex: 'returnPerson',
  //   width: 90
  // },
  {
    title: '委托单状态',
    align: "center",
    dataIndex: 'auditMark',
    width: 90
  },
];

//初审列表数据
export const columnsA: BasicColumn[] = [
  {
    title: '委托单位',
    align: "center",
    dataIndex: 'entName',
    width: 180
  },
  {
    title: '经办/送样人',
    align: "center",
    dataIndex: 'handler',
    width: 90
  },
  {
    title: '经办日期',
    align: "center",
    dataIndex: 'handlDate',
    width: 90
  },
  {
    title: '联系人',
    align: "center",
    dataIndex: 'contacter',
    width: 85
  },
  {
    title: '联系电话',
    align: "center",
    dataIndex: 'phone',
    width: 100
  },
  {
    title: '样品大类',
    align: "center",
    dataIndex: 'sampleType',
    width: 120
  },
  {
    title: '样品类别',
    align: "center",
    dataIndex: 'sampleSort',
    width: 120
  },
  // {
  //   title: '样品名称',
  //   align: "center",
  //   dataIndex: 'sampleName',
  //   width: 105
  // },
  {
    title: '样品数量',
    align: "center",
    dataIndex: 'sampleNum',
    width: 80
  },
  // {
  //   title: '样品包装',
  //   align: "center",
  //   dataIndex: 'samplePack',
  //   width: 90
  // },
  // {
  //   title: '样品存储',
  //   align: "center",
  //   dataIndex: 'sampleStore',
  //   width: 90
  // },
  // {
  //   title: '样品处置',
  //   align: "center",
  //   dataIndex: 'sampleDispose',
  //   width: 90
  // },
  // {
  //   title: '检测项目',
  //   align: "center",
  //   dataIndex: 'testItems_dictText',
  //   width: 110
  // },
  // {
  //   title: '方法/标准规则',
  //   align: "center",
  //   dataIndex: 'wayNorm_dictText',
  //   width: 100
  // },
  {
    title: '委托单状态',
    align: "center",
    dataIndex: 'auditMark',
    width: 90
  },

  {
    title: '初审人员',
    align: "center",
    dataIndex: 'firstAudit',
    width: 85
  },
  // {
  //   title: '复审人员',
  //   align: "center",
  //   dataIndex: 'finalAudit',
  //   width: 85
  // },
];

//初审列表数据
export const columnsC: BasicColumn[] = [
  {
    title: '委托单位',
    align: "center",
    dataIndex: 'entName',
    width: 180
  },
  {
    title: '经办/送样人',
    align: "center",
    dataIndex: 'handler',
    width: 90
  },
  {
    title: '经办日期',
    align: "center",
    dataIndex: 'handlDate',
    width: 90
  },
  // {
  //   title: '联系人',
  //   align: "center",
  //   dataIndex: 'contacter',
  //   width: 85
  // },
  // {
  //   title: '联系电话',
  //   align: "center",
  //   dataIndex: 'phone',
  //   width: 100
  // },
  {
    title: '样品大类',
    align: "center",
    dataIndex: 'sampleType',
    width: 120
  },
  {
    title: '样品类别',
    align: "center",
    dataIndex: 'sampleSort',
    width: 120
  },
  // {
  //   title: '样品名称',
  //   align: "center",
  //   dataIndex: 'sampleName',
  //   width: 105
  // },
  {
    title: '样品数量',
    align: "center",
    dataIndex: 'sampleNum',
    width: 80
  },
  // {
  //   title: '样品包装',
  //   align: "center",
  //   dataIndex: 'samplePack',
  //   width: 90
  // },
  // {
  //   title: '样品存储',
  //   align: "center",
  //   dataIndex: 'sampleStore',
  //   width: 90
  // },
  // {
  //   title: '样品处置',
  //   align: "center",
  //   dataIndex: 'sampleDispose',
  //   width: 90
  // },
  // {
  //   title: '检测项目',
  //   align: "center",
  //   dataIndex: 'testItems_dictText',
  //   width: 110
  // },
  // {
  //   title: '方法/标准规则',
  //   align: "center",
  //   dataIndex: 'wayNorm_dictText',
  //   width: 100
  // },
  {
    title: '复审人员',
    align: "center",
    dataIndex: 'finalAudit',
    width: 85
  },
  {
    title: '委托单状态',
    align: "center",
    dataIndex: 'auditMark',
    width: 90
  },
];

//查询数据
export const searchFormSchema: FormSchema[] = [
  {
    label: "委托单位名称",
    field: "entName",
    component: 'JDictSelectTag',
    componentProps: {
      dictCode: "lab_enterprise,ent_name,ent_name"
    },
    colProps: { span: 6 },
  },
  {
    label: "经办/送样人",
    field: "handler",
    component: 'Input',
    colProps: { span: 6 },
  },
  {
    label: "样品大类",
    field: "sampleType",
    component: 'Input',
    colProps: { span: 6 },
  },
  {
    label: "样品类别",
    field: "sampleSort",
    component: 'Input',
    colProps: { span: 6 },
  },
  {
    label: "样品处置",
    field: "sampleDispose",
    component: 'JDictSelectTag',
    componentProps: {
      dictCode: "sample_dispose"
    },
    colProps: { span: 6 },
  },
];
//表单数据
export const formSchema: FormSchema[] = [
  {
    label: '委托单位名称',
    field: 'entName',
    component: 'JDictSelectTag',
    componentProps: {
      dictCode: "lab_enterprise,ent_name,ent_name"
    },
  },
  {
    label: '委托单位地址',
    field: 'entAddress',
    component: 'Input',
  },
  {
    label: '经办/送样人',
    field: 'handler',
    component: 'Input',
  },
  {
    label: '经办日期',
    field: 'handlDate',
    component: 'Input',
  },
  {
    label: '联系人',
    field: 'contacter',
    component: 'Input',
  },
  {
    label: '联系人电话',
    field: 'phone',
    component: 'Input',
  },
  {
    label: '取/送样',
    field: 'takeSendSample',
    component: 'JDictSelectTag',
    componentProps: {
      dictCode: "yn"
    },
  },
  {
    label: '样品大类',
    field: 'sampleType',
    component: 'JDictSelectTag',
    componentProps: {
      dictCode: "yn"
    },
  },
  {
    label: '样品存储说明',
    field: 'sampleStoreRemark',
    component: 'Input',
  },
  {
    label: '样品名称',
    field: 'sampleName',
    component: 'Input',
  },
  {
    label: '样品数量',
    field: 'sampleNum',
    component: 'InputNumber',
  },
  {
    label: '样品包装',
    field: 'samplePack',
    component: 'Input',
  },
  {
    label: '样品存储',
    field: 'sampleStore',
    component: 'JDictSelectTag',
    componentProps: {
      dictCode: "yn"
    },
  },
  {
    label: '样品类别',
    field: 'sampleSort',
    component: 'JDictSelectTag',
    componentProps: {
      dictCode: "yn"
    },
  },
  {
    label: '样品处置',
    field: 'sampleDispose',
    component: 'JDictSelectTag',
    componentProps: {
      dictCode: "yn"
    },
  },
  {
    label: '检测项目',
    field: 'testItems',
    component: 'JSelectMultiple',
    componentProps: {
      dictCode: "yn"
    },
  },
  {
    label: '方法/标准规则',
    field: 'wayNorm',
    component: 'JDictSelectTag',
    componentProps: {
      dictCode: "yn"
    },
  },
  {
    label: '填写其他说明',
    field: 'remark',
    component: 'Input',
  },
  {
    label: '退回理由',
    field: 'returnCause',
    component: 'Input',
  },
  {
    label: '初审人员',
    field: 'firstAudit',
    component: 'Input',
  },
  {
    label: '复审人员',
    field: 'finalAudit',
    component: 'Input',
  },
  {
    label: '退回人员',
    field: 'returnPerson',
    component: 'Input',
  },
  {
    label: '审核标识',
    field: 'auditMark',
    component: 'InputNumber',
  },
  {
    label: '配样',
    field: 'samPrep',
    component: 'Input',
  },
  {
    label: '配方',
    field: 'samForm',
    component: 'Input',
  },
  {
    label: '报告编号',
    field: 'reportCode',
    component: 'Input',
  },
  {
    label: '报告类型',
    field: 'reportType',
    component: 'Input',
  },
  {
    label: '交付时间',
    field: 'deliverData',
    component: 'DatePicker',
  },
  {
    label: '报告数量',
    field: 'reportNum',
    component: 'InputNumber',
  },
  {
    label: '交付方式',
    field: 'deliverWay',
    component: 'Input',
  },
  {
    label: '检验费',
    field: 'checkCost',
    component: 'InputNumber',
  },
  {
    label: '分包项目',
    field: 'subItems',
    component: 'Input',
  },
  {
    label: '分包机构',
    field: 'subOrg',
    component: 'Input',
  },
  {
    label: '是否征求同意',
    field: 'seekMark',
    component: 'Input',
  },
  {
    label: '检测/校准项目是否为认证项目',
    field: 'reviewA',
    component: 'Input',
  },
  {
    label: '是否为标准规定的方法',
    field: 'reviewB',
    component: 'Input',
  },
  {
    label: '仪器设备是否满足要求',
    field: 'reviewC',
    component: 'Input',
  },
  {
    label: '检测/校准人员满足要求',
    field: 'reviewD',
    component: 'Input',
  },
  {
    label: '环境条件是否满足要求',
    field: 'reviewE',
    component: 'Input',
  },
  {
    label: '是否满足HSE规定',
    field: 'reviewF',
    component: 'Input',
  },
  {
    label: '是否需要分包',
    field: 'reviewG',
    component: 'Input',
  },
  {
    label: '客户提供的样品是否满足分析要求',
    field: 'reviewH',
    component: 'Input',
  },
  {
    label: ' 检验检测方和委托方是否存在利益关系',
    field: 'reviewI',
    component: 'Input',
  },
  // TODO 主键隐藏字段，目前写死为ID
  {
    label: '',
    field: 'id',
    component: 'Input',
    show: false
  },
];
//子表单数据
//子表表格配置
export const labSampleColumns: BasicColumn[] = [
   {
    title: '样品名称',
    align:"center",
    dataIndex: 'samName'
   },
   {
    title: '规格型号',
    align:"center",
    dataIndex: 'model'
   },
   {
    title: '产品批号',
    align:"center",
    dataIndex: 'lotNum'
   },
   {
    title: '取样日期',
    align:"center",
    dataIndex: 'samDate',
    customRender:({text}) =>{
      return !text?"":(text.length>10?text.substr(0,10):text)
    },
   },
   {
    title: '样品量 (g/kg/mL/L)',
    align:"center",
    dataIndex: 'samQuality'
   },
   {
    title: '样品外观',
    align:"center",
    dataIndex: 'samAppear'
   },
  //  {
  //   title: '其他说明',
  //   align:"center",
  //   dataIndex: 'remark'
  //  },
   {
    title: '样品编号',
    align:"center",
    dataIndex: 'samNum'
   },
   {
    title: '操作',
    align:"center",
    dataIndex: 'operation',
    key: 'operation',
    ellipsis: false,
    fixed:'right',
  },
   {
    title: '委托主键ID',
    align:"center",
    dataIndex: 'entrustId',
    ifShow:false
   },
];


export const operColumns: BasicColumn[] = [
  // {
  //   title: '用户id',
  //   align: "center",
  //   dataIndex: 'userId'
  // },
  // {
  //   title: '单据id',
  //   align: "center",
  //   dataIndex: 'tableId'
  // },
  // {
  //   title: '操作的表名',
  //   align: "center",
  //   dataIndex: 'tableName',
  //   width: 120
  // },
  {
    title: '用户',
    align: "center",
    dataIndex: 'userName',
    width: 120
  },
  {
    title: '操作类型',
    align: "center",
    dataIndex: 'type',
    width: 120
  },
  {
    title: '修改内容',
    align: "left",
    dataIndex: 'description'
  },
  {
    title: '操作时间',
    align: "center",
    dataIndex: 'operationDate',
    width: 155
  },
];